动量策略的是与非
作者:石川,量信投资创始合伙人,清华大学学士、硕士,麻省理工学院博士;精通各种概率模型和统计方法,擅长不确定性随机系统的建模及优化。
1
引言
动量(momentum)策略是投资界最流行的策略之一,在量化投资界也有广泛的应用。比如,在商品期货的 CTA 策略中,绝大多数都是动量策略;又如由于它反映了投资者的一些非理性的羊群效应,因此动量因子在量化选股中也是一个长盛不衰的因子。
动量策略指的是投资者跟随市场的大势、根据投资品的上涨或者下跌趋势做出相应的做多、做空交易。因此,动量策略又叫趋势追踪(trend following)策略。更具体的,动量策略又可以分为时序动量(time-series momentum)和截面动量(cross-sectional momentum)。
在时序动量中,投资者做多之前上涨趋势显著的投资品、做空之前下跌趋势显著的投资品;而在截面动量中,投资者做多在之前表现相对较好的投资品、做空在之前表现相对较差的投资品。在时序动量中,我们希望投资品可以各自延续其在之前的趋势。而在截面动量中,相比于每个投资品绝对走势,我们更关注的是它们相对的强弱走势,希望强者恒强、弱者恒弱,因此截面动量又称为 winners-minus-losers 策略。
动量策略的执行相对简单,投资者可以通过使用并严格遵守合适的技术指标来实现动量策略。大名鼎鼎的海龟交易法则就是这样一个例子。每个在实盘中运行过量化投资策略的人大概都尝试过动量策略。鉴于它的流行程度,本文就来简单梳理一下动量策略的风险收益特性。深入理解它们有助于更好的在投资实践中使用动量策略、并对它在不同市场环境中的表现有一个合理的预期。
在谈到动量策略时,如果不加特别指出,默认的是时序动量策略。因此接下来的第二、三小节着重对时序动量策略的风险收益进行分析。在第四节,我们会从投资品相关性的视角对比时序动量和截面动量策略。
2
收益风险特征
Jusselin et al. (2017) 指出,动量策略的收益(profit & loss)曲线是一个凸函数(下图)。当趋势很小的时候,该策略的收益为负;只有当趋势很大的时候(既可以是上涨趋势也可以是下跌趋势),该策略的收益为正。
由该曲线可知,动量策略的亏损有限,收益无上限。值得说明的是,这里的“亏损有限”是有条件的,它要求动量策略不能使用太高的杠杆率(当杠杆过高时,它对策略的收益和亏损的放大不是线性的),以及投资品的价格应该是连续的。在合理的假设下,“亏损有限、收益无限”意味着动量策略每笔交易的收益率的分布呈现出正偏态(positive skewed,下图)。
由正偏态的特性可知,绝大多数收益率的取值分布在横轴的左侧,而有较少一部分收益的取值分布在横轴的右侧、在右侧有一个长尾。这说明对于动量策略来说,它的绝大多数交易都是小幅亏损的,仅有很少一部分交易能够捕捉到投资品的“大势”从而赚到很多的钱,使得该策略长期的收益曲线向上。
3
爱趋势、不爱波动
我们在《布朗运动、伊藤引理、BS 公式(前篇)》曾介绍,投资品的收益率可以用一个带漂移率项(即长期均值)的布朗运动来描述,即:
其中 P 是投资品的价格,因此 dP/P 就是收益率;μ 是漂移率;σ 是波动率;B 表示标准布朗运动。大量的金融实证显示,投资品的收益率基本符合这个模型。
由该模型易知(做多的)动量策略喜欢收益率中正的漂移率项(即 μ 越大越好),而不喜欢波动(即 σ 越小越好)。μ 越大且/或 σ 越小说明趋势越显著(当然对于能做空的情况,那么仅需要 μ 的绝对值越大越好)。因此,在评价一个投资品是否适合动量策略时,必须同时考虑 μ 和 σ,所以业界认为投资品的夏普率是一个评价投资品自身趋势强弱的优秀指标。同样,对于能做空的情况,我们会更关注夏普率的绝对值的取值。《什么样的收益率特性适合趋势追踪策略》从 μ、σ 以及收益率的自相关系数 ρ 的角度分析了动量策略喜欢什么样的收益率特性。
在期权定价公式领域,人们用 Delta 表示期权价格对其对应标的投资品价格的偏导数、用 Vega 表示期权价格对标的投资品波动率的偏导数。我们可以把这两个概念平移到动量策略中。假设 S 是动量策略的净值,P 和 σ 分别为标的投资品的价格和波动率,则动量策略的 Delta 和 Vega 为:
从业务上来解释,Delta 可以理解为投资品价格的变化对动量策略净值的影响。以追逐上涨趋势的做多策略为例,它应该具备正的 Delta,即随着价格的上涨,策略净值上涨。另一方面,Vega 代表收益率波动对动量策略净值的影响。Roncalli (2017) 指出,动量策略具有负的 Vega,即动量策略讨厌波动率,投资品的短期波动会造成动量策略净值的下降。
由于“波动常有、而趋势不常有”,因此投资品的反复波动会主宰动量策略的表现(阴跌、亏损),直到一个大趋势到来并被策略捕捉到。对于海外市场(特别是美股),由于股市有效的反映了经济的发展和上市公司的盈利增长,市场呈现出慢牛的结构。在这种结构下,长周期的动量策略比短周期的动量策略效果要好。在我们的实证中对此也有很深的体会,比如对于美股来说,周级别的动量策略就不如月级别的动量策略有效。
时序动量是一种择时,它之所以赚钱是当标的投资品有大趋势时靠做多(或做空)该投资品赚钱,其本质是一个 β 策略。当投资品本身有很多短期波动时,动量策略的负 Vega 会对其造成亏损,因此短周期动量策略往往比长周期动量策略的风险更高,因为后者使用更长周期的均线(或其他方法)来追踪趋势、可以过滤掉高频的扰动。当然,这个观点也不是绝对的,它取决于投资品本身的收益特性。比如在 A 股中,要想躲开几次股灾,那显然需要用短周期的动量策略。在第五节中会进行一些实证。
4
时序动量 vs 截面动量
接下来,我们从投资品相关性的角度比较一下时序动量和截面动量策略。
多样化(diversification)是规避投资风险的重要思想,其体现是将资金分配到不同的投资品中。对于时序动量策略来说,要想获得多样化收益(diversification gain,即通过多样化实现的额外收益),就必须考虑相关性低的投资品。当投资标的之间的相关性很高时,时序动量策略的表现不会因为投资品个数的增加而显著提升。下图为假设投资品相关系数为 80% 的情况下,不同投资品个数的动量策略年化收益率的累积分布函数(cumulative distribution function)。由于投资品之间的相关性很高,当投资品的个数超过 3 个时,多样化带来的额外收益就几乎不发生改变了。
时序动量不喜欢高相关性的投资品。
为了解释这一点,来看一个极端的例子。假设有两个投资品完全负相关(相关系数为 -1)。如果其中一个产生了上涨的大趋势,从它们的相关性可知,另一个一定产生了下跌的大趋势。这时,时序动量策略会做多上涨的投资品,而做空下跌的投资品。这么做其实是在捕捉“同一个”趋势,而非两个投资品各自的趋势,因此也就毫无多样化可言。
再来看看截面动量策略。与时序动量不同,截面动量策略喜欢相关性高的投资品。截面动量策略的夏普率随着投资品之间相关性的增加而提高(下图)。这是因为截面动量策略通过做多相对强的、做空相对弱的投资品来规避掉它们共有的风险,而捕捉它们各自风险溢价的差别。想要通过多空匹配来对冲掉共有的风险自然要求投资品之间的相关性高。从这个意义上说,截面动量是一个 α 策略。
根据时序动量和截面动量的特点,在使用时序动量时,我们应该考虑相关性低的大类资产,比如股票、债券、货币、商品等。显然,如果我们用沪深 300 指数和上证 50 指数来做时序动量就没什么多样性可言,因为它们相关性太高。另一方面,在使用截面动量时,我们需要考虑相关性高的投资品,比如在同行业内的股票之间构建多空组合来捕捉它们风险溢价的差别。
5
举例:用均线多/空头排列做趋势追踪
最后,通过一个简单的实证分析如何在 A 股上做时序动量策略。我们使用均线多头(空头)排列来捕捉上涨(下跌)趋势。
在市场上涨时,短周期均线位于长周期均线之上;不同周期均线的位置随时间窗口 T 的增加依次向下,比如 MA5 > MA10 > MA15 等,这称为均线多头排序。当市场下跌时,短周期均线位于长周期之下;不同周期均线的位置随时间窗口 T 的增加依次向上,即MA5 < MA10 < MA15 等,这称为均线空头排列。下图所示为 2015 年牛市和熊市中的两段均线多头和空头排列。
在市场有大趋势或者平稳的时候,均线一般呈现多头或者空头的结构,即不同周期 T 的均线的排序和 T 的排序非常一致(要么同向,意味着多头;要么反向,意味着空头)。而当投资品从上涨向下跌转换、或由下跌向上涨转换时,短周期均线会先于长周期均线发生变化。在前者发生时,短周期均线开始逐步下穿长周期均线;在后者发生时,短周期均线开始逐步上穿长周期均线。在发生由涨转跌或由跌转涨时,不同周期均线的排序和时间窗口 T 大小的排序关系被打乱,不再完全一致。如果我们可以定量的来计算均线排序和时间窗口 T 排序之间的一致性,便可以使用它来择时。为此可以使用秩相关系数(见《从 Spearman 秩相关看市场情绪》),它考察的是两个随机变量之间的单调相关性(monotonic correlation)。
当均线多头排列时,均线和 T 之间的秩相关性为 1;当均线空头排列时,均线和 T 之间的秩相关性为 -1。由涨转跌时,短期均线开始下穿,秩相关性从 1 开始下降;由跌转涨时,短期均线开始上穿,秩相关性从 -1 开始上升。使用均线和 T 的秩相关系数择时的时候,需考虑的两组重要参数是:
1. 使用哪些周期的均线;
2. 判断由涨转跌及由跌转涨时,秩相关系数的阈值。
由于本节只是做简单实证,我们不对上面的参数进行特别的优化。但考虑到 A 股波动较大的特性,我们使用指数平均而非简单平均,令指数平均跨度 span 的取值为 5、10、……、40,且选择 0.8 和 -0.8 作为秩相关系数的阈值。具体的,趋势追踪的择时策略如下:
以日频为交易频率,按收盘价交易。每日计算 span = 5、10、……、40 的指数平均,并计算均线排序和 span 排序的秩相关系数。在空仓时,如果秩相关系数大于 -0.8 则满仓;在满仓时,如果秩相关系数小于 0.8 则空仓。假设每笔交易的成本为千分之一、空仓时买入收益率为万分之一货币基金。
将该择时策略用于沪深 300 指数,其效果如下。可以看到,它很好的捕捉了三波大牛市,且由于使用了指数平均和较短的时间窗口计算均线,策略逃顶较为果断,很好的体现了按动量择时的目标。在 2010 年到 2014 年市场震荡下行的阶段,该策略虽然也和市场一起下行,但择时还是跑赢了市场本身。从 2006 年 1 月 1 日到 2018 年 2 月 9 日,该策略年化收益率 22.42%,夏普率 0.99,最大回撤 -31.23%。
让我们来看看 2016 年 3 月份之后的情况。同样的参数下,该策略在过去的两年里大幅跑输沪深 300 本身。它的收益率仅有 5.19%,夏普率 0.58,最大回撤 -8.58%。Jusselin et al. (2017) 的研究表明,对于趋势追踪择时,当标的本身的夏普率高于 0.35,时序动量策略便无法战胜标的本身。
在过去两年中,沪深 300 一路上行,收益率的长期 μ 很大但是(局部) σ 也不小。由于高波动,时序动量的负 Vega 特性产生了很多亏损,因此大幅跑输指数本身。解决这个问题的办法就是使用更长周期的均线捕捉更慢的趋势。假设在上述策略中,我们将计算指数平均的 span 参数改为 20、25、30、……、80,这可以将策略的收益率提高至年化 10.67%,夏普率提高至 1.08(远超过短周期参数下的 5.19% 和 0.58)。
当我们使用了更长的周期计算均线时,市场的短期波动无法有效的改变均线的排列顺序,因此也就不能触发交易信号,策略便可以持续的暴露在市场风险之中,跟随市场上涨。这似乎意味着在当下的市场环境中,我们应该使用更长的周期进行趋势追踪。但市场是多变的,等我们刚刚适应了使用长周期来捕捉慢趋势后,它就来了一个“黑色一星期”。
这样的行情提醒着我们,也许较过去的历次股灾而言,如今的 A 股再次发生系统性风险的可能性大大降低,但是在这个由投机者主宰和资本市场全球化的大背景下,任何的风吹草动都有可能让 A 股来一波急跌。在这种预期下,我们在做时序动量策略时,计算趋势的周期恐怕很难看的太长。
最后,这两天的(极端)行情告诉我们,虽然我们刚刚用短周期择时躲过一波急跌,但市场马上又上演暴力反弹、一波节前发红包行情。这时无论长、短趋势追踪都只能眼巴巴看着,因为这种日级别的波动不是时序动量捕捉的。了解动量策略的是与非,弄清楚它到底挣的什么钱,有助于我们练就平和的心态。
参考文献
Jusselin, P., E. Lezmi, H. Malongo, C. Masselin, T. Roncalli, and T-L. Dao. (2017). Understanding the momentum risk premium: an in-depth journey through trend-following strategies. SSRN, https://ssrn.com/abstract=3042173.
Roncalli, T. (2017). Keep up the momentum. SSRN: https://ssrn.com/abstract=3083921.